package com.education.welco.mapper;

import com.education.welco.pojo.SysSourcePay;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * (用户资源收藏支付) 数据层
 *
 * @author d
 * @date 2021-09-08
 */
@Repository
public interface SysSourcePayMapper {

    /**
     * 查询(用户资源收藏支付)信息
     *
     * @param cUserId (用户资源收藏支付)ID
     * @return (用户资源收藏支付)信息
     */
    List<SysSourcePay> selectSysSourcePayById(Integer cUserId);

    /**
     * 查询(用户资源收藏支付)列表
     *
     * @param sysSourcePay (用户资源收藏支付)信息
     * @return (用户资源收藏支付)集合
     */
    List<SysSourcePay> selectSysSourcePayList(SysSourcePay sysSourcePay);

    /**
     * 查询(用户资源收藏支付)列表
     *
     * @param map 根据开始时间和结束时间 类型
     * @return (用户资源收藏支付)集合
     */
    List<Integer> selectSysSourcePayListByTimeAndType(Map<String, Object> map);

    /**
     * 查询(用户资源收藏支付)列表
     * @param userId 用户id
     * @param type
     * @return
     */
    List<Integer> selectSysSourcePayListByUserIdAndType(@Param("userId") String userId, @Param("type") String type);

    /**
     * 新增(用户资源收藏支付)
     *
     * @param sysSourcePay (用户资源收藏支付)信息
     * @return 结果
     */
    int insertSysSourcePay(SysSourcePay sysSourcePay);

    /**
     * 修改(用户资源收藏支付)
     *
     * @param sysSourcePay (用户资源收藏支付)信息
     * @return 结果
     */
    int updateSysSourcePay(SysSourcePay sysSourcePay);

    /**
     * 修改用户资源收藏支付记录的收藏状态
     *
     * @param sysSourcePay 用户资源收藏支付信息
     * @return 结果
     */
    int updateSysSourcePayCollectionStatus(SysSourcePay sysSourcePay);

    /**
     * 删除(用户资源收藏支付)
     *
     * @param cUserId (用户资源收藏支付)ID
     * @return 结果
     */
    int deleteSysSourcePayById(Integer cUserId);

    /**
     * 批量删除(用户资源收藏支付)
     *
     * @param cUserIds 需要删除的数据ID
     * @return 结果
     */
    int deleteSysSourcePayByIds(String[] cUserIds);

    List<SysSourcePay> getSysSourcePayByByUserId(SysSourcePay sysSourcePay);

    ///**
    // * pc 端查询我的收藏-课程
    // * @return
    // */
    //List<SysMyCollectionRESQ> selectMyCollectionJoinCatalog(@Param("cResourceType") Integer cResourceType,
    //                                                        @Param("isCollection") Integer isCollection,
    //                                                        @Param("cUserId") Integer cUserId,
    //                                                        @Param("catalogId") Integer catalogId);
    //
    ///**
    // * pc 端查询我的收藏-试题
    // * @return
    // */
    //List<SysMyCollectionRESQ> selectMyCollectionJoinQuestion(@Param("cResourceType") Integer cResourceType,
    //                                                         @Param("isCollection") Integer isCollection,
    //                                                         @Param("cUserId") Integer cUserId,
    //                                                         @Param("catalogId") Integer catalogId);
    //
    ///**
    // * pc 端查询我的收藏-资源
    // * @return
    // */
    //List<SysMyCollectionRESQ> selectMyCollectionJoinResource(@Param("cResourceType") Integer cResourceType,
    //                                                         @Param("isCollection") Integer isCollection,
    //                                                         @Param("cUserId") Integer cUserId,
    //                                                         @Param("catalogId") Integer catalogId);
    //
    ///**
    // * pc 端查询我的收藏-文章 论坛
    // * @return
    // */
    //List<SysMyCollectionRESQ> selectMyCollectionJoinForums(@Param("cResourceType") Integer cResourceType,
    //                                                       @Param("isCollection") Integer isCollection,
    //                                                       @Param("cUserId") Integer cUserId,
    //                                                       @Param("titleLike") String title,
    //                                                       @Param("catalogId") Integer catalogId);
    //
    ///**
    // * app 端查询我的收藏-资源
    // * @return
    // */
    //List<SysMyCollectionRESQ> selectMyCollectionJoinResourceForApp(@Param("isFree") Integer isFree,
    //                                                               @Param("resType") Integer resType,
    //                                                               @Param("cUserId") Integer cUserId,
    //                                                               @Param("list") List<Integer> list);
    //
    ///**
    // * app 端查询我的收藏-试题
    // * @return
    // */
    //List<SysMyWrongQuestionResq> selectCatalogListForMyWrongQuestion(@Param("userId") Integer userId,
    //                                                                 @Param("list") List<Integer> list);
    //
    ///**
    // * app 端查询我的收藏-文章 动态
    // * @return
    // */
    //List<SysRecommendCircleResq> selectMyCollectionJoinForumsForApp(@Param("cResourceType") Integer cResourceType,
    //                                                                @Param("isCollection") Integer isCollection,
    //                                                                @Param("cUserId") Integer cUserId);

}